Data storage techniques utilizing host-side multiplexers

ABSTRACT

A data storage system has a circuit board module, a set of Serial ATA devices, and a set of Serial ATA cables connecting the circuit board module to the set of Serial ATA devices. The circuit board module includes a circuit board, multiple host circuits mounted to the circuit board and multiplexer circuitry mounted to the circuit board. Each host circuit is configured to perform data storage operations on the behalf of an external client. The multiplexer circuitry is configured to (i) receive control signals from the host circuits and (ii) provide communications pathways between the host circuits and the set of Serial ATA devices in response to the control signals. Such an embodiment alleviates the need for multiple versions of disk drive assemblies and their associated costs.

BACKGROUND

A computerized system which utilizes the Serial ATA interface for diskdrive storage typically includes a host, a set of Serial ATA disk driveassemblies and a set of Serial ATA cables connecting the host to the setof Serial ATA disk drive assemblies. In the context of a data storagesystem, the host typically takes the form of a motherboard containing,among other things, (i) processing circuitry configured to perform datastorage operations (e.g., caching operations, read and write operationswith the set of Serial ATA disk drive assemblies, etc.) and (ii) SerialATA motherboard connectors which provide Serial ATA access to and fromthe motherboard, i.e., electronic access in accordance with the SerialATA interface specification. Additionally, each disk drive assemblytypically includes (i) a disk drive chassis (or housing), (ii) a diskdrive unit mounted to the disk drive chassis, and (iii) a Serial ATAdisk drive connector which is also mounted to the disk drive chassis andwhich provides Serial ATA access to and from the disk drive unit. Theset of Serial ATA cables includes wires which are terminated at each endwith Serial ATA cable connectors to interconnect the host with theSerial ATA disk drive assemblies. At least a portion of the Serial ATAinterface specification is described in a document entitled “Serial ATA:High Speed Serialized AT Attachment”, Revision 1.0a, Jan. 7, 2003, theteachings of which are hereby incorporated by reference herein in theirentirety.

To construct the data storage system, an installer typically fastens theset of Serial ATA cables to a main support (e.g., a standard electronicequipment rack, a custom-sized cabinet or frame, etc.). The installerthen fastens the motherboard to the main support and connects the SerialATA motherboard connectors of the motherboard to corresponding SerialATA cable connectors at one end of the set of Serial ATA cables. Theinstaller then attaches the Serial ATA disk drive assemblies to the mainsupport and connects the Serial ATA disk drive connectors of the diskdrive assemblies to corresponding Serial ATA cable connectors at theother end of the set of Serial ATA cables. Typically, the chassis of thedisk drive assemblies are designed so that the disk drive assemblieseasily slide into and out of the main support to facilitate servicing(e.g., for hot swapping, replacement, future upgrading, etc.).

In contrast to the above-described relatively simple Serial ATA diskdrive assemblies, some equipment manufacturers provide enhanced SerialATA disk drive assemblies which, in addition to listed components of theabove-described simpler disk drive assemblies, further include (i) asecond Serial ATA disk drive connector and (ii) a daughter card whichinterconnects between the two Serial ATA disk drive connectors and thedisk drive unit. The daughter card includes a multiplexer that iscapable of switching between the two Serial ATA disk drive connectorsthus enabling two hosts to have access to the disk drive unit, i.e., afirst host through one Serial ATA disk drive connector and a second hostthrough the other Serial ATA disk drive connector. Such enhanced diskdrive assemblies enable data storage systems to utilize a primary hostand a backup host for fault tolerance purposes. In particular, if theprimary host fails (e.g., crashes), the backup host then beginsoperation. In such a situation, the device-side multiplexers of the diskdrive assemblies switch selection from the Serial ATA disk driveconnector leading to the primary host to the Serial ATA disk driveconnector leading to the backup host to provide the backup host withaccess to the disk drive units of the disk drive assemblies thusenabling the data storage system as a whole to remain in operation.

SUMMARY

Unfortunately, there are deficiencies to using the above-describedenhanced Serial ATA disk drive assemblies. For example, to provide both(i) a low-end system having a single host and the simpler disk driveassemblies and (ii) a higher-end system having two hosts for faulttolerance and the enhanced disk drive assemblies, manufacturers musteither (i) carry two versions of Serial ATA disk drive assemblies andtwo versions of Serial ATA cable assemblies, or (ii) include theenhanced disk drive assemblies and the enhanced cable assemblies in thelow-end system thus penalizing the low-end system with an unnecessarycost burden.

In the first scenario (i.e., when a manufacturer carries two version ofSerial ATA disk drive and cable assemblies), for the low-end systemhaving the single host, the manufacturer must carry simple Serial ATAdisk drive assemblies (i.e., assemblies with a single Serial ATA diskdrive connector and with no daughter cards) and a simple set of SerialATA cables (i.e., a set of Serial ATA cables that provides pathwaysbetween the single host and each Serial ATA disk drive assembly).Additionally, for the higher-end system having two hosts, themanufacturer must carry enhanced Serial ATA disk drive assemblies (i.e.,assemblies with two Serial ATA disk drive connectors and with daughtercards having device-side multiplexers) and a more-complex set of SerialATA cables (i.e., a set of Serial ATA cables that provides a first setof pathways between the primary host and each Serial ATA disk driveassembly, and a second set of pathways between the backup host and eachSerial ATA disk drive assembly).

Manufacturers carrying two versions of disk drive assemblies and twocable assemblies incur certain associated costs such as making, stockingand supporting both versions of cable assemblies and both versions ofdisk drive assemblies. The costs associated with the higher-end systemare particularly burdensome to the manufacturer. For example, thecomplex set of Serial ATA cables for the higher-end system includesessentially two of the simpler sets of Serial ATA cables in order toprovide a first set of pathways from the primary host to each Serial ATAdisk drive assembly and a second set of pathways from the backup host toeach Serial ATA disk drive assembly. As another example, the enhancedSerial ATA disk drive assemblies requires all of the components of asimpler Serial ATA disk drive assembly plus an additional Serial ATAdisk drive connector and a daughter card having a device-sidemultiplexer to switch between Serial ATA disk drive connectors.Moreover, the manufacture must now provide a new circuit boardfabrication process dedicated to making the daughter cards, and eachdaughter card requires additional support circuitry such as safetycircuits to protect against overvoltage conditions, interfacingcircuitry to interface with the Serial ATA cables and with the diskdrive units, etc.

Furthermore, when the manufacturer supplies two versions of disk driveassemblies, the manufacturer makes the upgrade path from a single-hostsystem to a dual-host system more difficult. In particular, if acustomer first purchases a low-end single-host system with simple diskdrive assemblies, the customer must then add a second host plus upgradethe disk drive assemblies to the enhanced version that has the daughtercards with multiplexers in order to change the configuration into thedual-host system. The task of migrating data from the simple disk driveassemblies to the enhanced disk drive assemblies can be extremelycomplex, error prone and costly.

In the second scenario (i.e., when the manufacturer includes theenhanced disk drive assemblies and the enhanced cable assemblies in thelow-end system), manufacturer bears the additional cost burden for theenhanced assemblies in the low-end system thus putting the manufacturerat a disadvantage compared to other manufacturers who simply offer alow-end system with the simpler versions of the Serial ATA disk driveassemblies and Serial ATA cable assemblies.

In contrast to the above-described conventional approach to providingtwo versions of Serial ATA cables and Serial ATA disk drive assembliesin support of a simple single-host system and an enhanced two-hostsystem, embodiments of the invention are directed to data storagetechniques which utilize host-side multiplexer circuitry (e.g.,multiplexer circuitry which is on the same side of the Serial ATA cablesas the hosts) to communicate with Serial ATA disk drive assemblies. Suchtechniques enable manufacturers to provide both a low-end single hostsystem and a higher-end two-host system but still carry only a singleversion of a Serial ATA cable set and a Serial ATA disk drive assembly(e.g., simple Serial ATA disk drive assemblies with no multiplexers andonly one Serial ATA disk drive connector) rather than two versions thussaving the manufacturer the costs associated with manufacturing andcarrying two versions.

One embodiment of the invention is directed to a data storage systemhaving a circuit board module, a set of Serial ATA devices, and a set ofSerial ATA cables connecting the circuit board module to the set ofSerial ATA devices. The circuit board module includes a circuit board,multiple host circuits mounted to the circuit board and multiplexercircuitry mounted to the circuit board. Each host circuit is configuredto perform data storage operations on the behalf of an external client.The multiplexer circuitry is configured to (i) receive control signalsfrom the host circuits and (ii) provide communications pathways betweenthe host circuits and the set of Serial ATA devices in response to thecontrol signals. Such an embodiment alleviates the need for multipleversions of disk drive assemblies and their associated costs.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other objects, features and advantages of theinvention will be apparent from the following description of particularembodiments of the invention, as illustrated in the accompanyingdrawings in which like reference characters refer to the same partsthroughout the different views. The drawings are not necessarily toscale, emphasis instead being placed upon illustrating the principles ofthe invention.

FIG. 1 is a block diagram of a data storage system which is suitable foruse by the invention.

FIG. 2 is a top view of a multi-host circuit board module of the datastorage system of FIG. 1.

FIG. 3 is a block diagram of various components the data storage systemof FIG. 1 illustrating operation of a multiplexer of the data storagesystem when the multiplexer connects a first host circuit with a SerialATA device.

FIG. 4 is a block diagram of the various components of FIG. 3illustrating operation of the multiplexer of the data storage systemwhen the multiplexer connects a second host circuit with the Serial ATAdevice.

FIG. 5 is a flowchart of a procedure which is performed when carryingout data storage operations in accordance with an embodiment of theinvention.

DETAILED DESCRIPTION

Embodiments of the invention are directed to data storage techniqueswhich utilize host-side multiplexer circuitry (e.g., multiplexercircuitry which is on the same side of the Serial ATA cables as thehosts) to communicate with Serial ATA disk drive assemblies. Suchtechniques enable manufacturers to provide both a low-end single hostsystem and a higher-end multiple-host system but still carry only asingle version of a Serial ATA cable set and a Serial ATA disk driveassembly (e.g., simple Serial ATA disk drive assemblies with nomultiplexers and a single Serial ATA disk drive connector) for use inboth systems. There is no need for the manufacturer to make, stock andsupport two versions of disk drive assemblies and two versions of cableassemblies as in a conventional approach to providing both a low-endsingle-host system and a high-end two-host system (e.g., there is noneed for a version of a Serial ATA disk drive assembly having daughtercards and multiple Serial ATA disk drive connectors for a high-endtwo-host system).

FIG. 1 shows a data storage system 20 which is suitable for use by theinvention. As shown, the data storage system 20 performs a variety ofdata storage operations on behalf of a set of external clients 22(1), .. . , 22(M) (collectively, external clients 22). By way of example only,such operations include but are not limited to load and storeoperations, caching operations, read-modify-write operations, etc.

As shown in FIG. 1, the data storage system 20 includes (among otherthings) a circuit board module 24, a set of Serial ATA devices 26(1), .. . , 26(N) (collectively, Serial ATA devices 26) and a set of SerialATA cables 28 which connects the circuit board module 24 to the set ofSerial ATA devices 26. By way of example only, the Serial ATA devices 26are Serial ATA disk drive assemblies which are configured to store andretrieve data in a non-volatile manner.

As further shown in FIG. 1, the circuit board module 24 includes acircuit board 30, multiple host circuits 32(1), 32(2) (collectively hostcircuits 32) mounted to the circuit board 30, and multiplexer circuitry34 also mounted to the circuit board 30. Each host circuit 32 isconfigured to perform data storage operations on the behalf of one ormore external client 22, and to perform such operations independently ofand concurrently with data storage operations performed by the otherhost circuit 32. Accordingly, the data storage system 20 is well-suitedfor operating in an active-active manner in which the multiple hostcircuits 32 perform data storage operations simultaneously in order toachieve greater throughput, i.e., a greater number of operations in agiven amount of time than that provided by only one host circuit 32operating during that time.

As will be explained in further detail shortly, the multiplexercircuitry 34 of the circuit board module 24 is configured to (i) receivecontrol signals from the host circuits 32 and (ii) providecommunications pathways between the host circuits 32 and the set ofSerial ATA devices 26 in response to the control signals. Since themultiplexer circuitry 34 resides on the host-side of the Serial ATAcables 28, the same set of Serial ATA devices 26 and the same set ofSerial ATA cables 28 can be used in a data storage system configurationthat includes only a single host circuit 32 (i.e., a circuit boardmodule having only one host circuit 32) even though the data storagesystem 20 has two host circuits 32. That is, there is no need for anyspecial accommodations in either the set of Serial ATA devices 26 or theset of Serial ATA cables 28 (e.g., no enhanced Serial ATA disk driveassembly having (i) daughter cards with multiplexers and (ii) extraSerial ATA disk drive connectors, no need for a set of complex SerialATA cables configured to connect multiple hosts to the enhanced SerialATA disk drive assemblies, etc.). Rather, the data storage system 20 iscapable of using the same set of Serial ATA devices and cables as thatused in a lower-end data storage system having only a single hostcircuit 32. As a result, a manufacturer is capable of (i) providing botha lower-end data storage system as well as a higher-end data storagesystem (i.e., the data storage system 20) but (ii) making, stocking andsupporting a single version of a Serial ATA disk drive and a singleversion of a set of Serial ATA cables thus minimizing costs. Furtherdetails of the invention will now be provided with reference to FIG. 2.

FIG. 2 shows the circuit board module 24 of the data storage system 20.The circuit board 30 of the circuit board module 24 includes a firsthost section 40(H1), a second host section 40(H2) which is adjacent tothe first host section 40(H1) in a side-by-side manner, and amultiplexer section 40(M) which is disposed adjacent to both the firsthost section 40(H1) and the second host section 40(H2). The sections40(H1), 40(H2), 40(M) (collectively, circuit board sections 40) includelayers of conductive material and non-conductive material sandwichedtogether into a rigid, plane-shaped member that supports a variety ofcircuit board components (e.g., integrated circuit devices, discretecomponents, connectors, etc.). These components in combination with theconductive material (e.g., signal traces, ground planes, power planes,etc.) form the various circuits 32(1), 32(2), 34 of the circuit boardmodule 24.

As shown in FIG. 2, the host circuit 32(1) includes a set of circuitboard components 42(1) and electrical connections 44(1) (shown generallyby the arrow 44(1)) which enable the components 42(1) to communicatewith each other. Similarly, the host circuit 32(2) includes a set ofcircuit board components 42(2) and electrical connections 44(2) (showngenerally by the arrow 44(2)) which enable the components 42(2) tocommunicate with each other. As will be explained in further detailshortly, the electrical connections 44(1), 44(2) further enable the hostcircuits 32(1), 32(2) to exchange handshaking signals and thuscoordinate access to the Serial ATA devices 26 through the multiplexercircuitry 34.

The multiplexer circuitry 34 includes a set of multiplexers 46(1), . . ., 46(N) (collectively, multiplexers 46), a control circuit 48, a set ofSerial ATA connectors 50(1), . . . 50(N) (collectively, Serial ATAconnectors 50), and electrical connections 52 (shown generally by thearrow 52). The electrical connections 52 interconnect the variouscomponents of the multiplexer circuitry 34 together as well as connectthe multiplexer circuitry 34 to the host circuits 32. It should beunderstood that the host-side location of the multiplexers 46 alleviatesthe need for daughter cards having multiplexers and associated supportcircuitry (e.g., overvoltage protection circuitry, extra communicationscircuitry, etc.) on the Serial ATA devices 26 since host switching isaccommodated on the circuit board module 24. Accordingly, themultiplexers circuitry 34 is capable of leveraging off of the resourcesthat are already available on the circuit board module 24 (e.g.,overvoltage protection circuitry, etc.). In one arrangement, the SerialATA connectors 50 reside along a common connecting edge 54 defined bythe circuit board 30 thus enabling the circuit board module 24conveniently engage with the set of Serial ATA cables 28 when moved in asingle direction (e.g., when moved in the direction of the arrow 56 ofFIG. 2).

It should be understood that, for each Serial ATA device 26 in the datastorage system 20, the multiplexer circuitry 34 includes a dedicatedmultiplexer 46 and a dedicated Serial ATA connector 50. In onearrangement, the data storage system 20 provides capacity for up to 12Serial ATA devices 26 (e.g., to provide a storage array of N disk driveswhere N equals 12) so that there are 12 discrete multiplexers 46 and 12discrete Serial ATA connectors on the circuit board 30 respectivelycorresponding to the 12 Serial ATA devices 26. During operation, thehost circuits 32 communicate with each other, with the control circuit48, and with the Serial ATA devices 26 to share access to the Serial ATAdevices 26. The control circuit 48 switches the multiplexers 46 back andforth between the host circuits 32 to furnish communications pathwaysfrom both host circuits 32 to the Serial ATA devices 26 in a timemultiplexed manner for robust and reliable access. Further details ofthe invention will now be provided with reference to FIGS. 3 and 4.

FIGS. 3 and 4 are block diagrams of various components of the datastorage system 20 which participate in sharing access to a particularSerial ATA device 26. As shown, the Serial ATA device 26 includes a diskdrive unit 60, a Serial ATA connector 62 and a communications medium 64(e.g., a short segment of cable) interconnecting the disk drive unit 60with the Serial ATA connector 62. The set of Serial ATA cables 28 (alsosee FIG. 1) includes a single Serial ATA cable 28 having a segment ofcable 66, a host-side Serial ATA connector 68 and a device-side SerialATA connector 70 (two cables are not required as in a conventionalapproach which places a daughter card having a multiplexer on thedevice-side). On the circuit board module 24, the participatingcomponents include, among other things, a particular multiplexer 46 anda particular Serial ATA connector 50 of the multiplexer circuit 34 whichcorrespond to the Serial ATA device 26.

As shown in FIGS. 3 and 4, the host-side Serial ATA connector 68 of theSerial ATA cable 28 connects to the Serial ATA connector 50 of themultiplexer circuit 34. Similarly, the device-side Serial ATA connector70 of the Serial ATA cable 28 connects to the Serial ATA connector 62 ofthe Serial ATA device 26. As a result, a single Serial ATAcommunications pathway exists between the multiplexer 46 and the SerialATA device 26 (illustrated by the thickened line extending from themultiplexer 46 to the Serial ATA device 26 in FIGS. 3 and 4).

It should be understood that (i) there is only one Serial ATA cable 28leading from the Serial ATA device 26 to the circuit board module 24,and that the Serial ATA device 26 has a single-port configuration (i.e.,there is only a single Serial ATA communications pathway to and from thedisk drive unit 60) since the multiplexer 46 resides on the host-side ofthe Serial ATA cable 28. In view of this feature, a manufacturer iscapable of using the same Serial ATA cable 28 and the same Serial ATAdevice 26 in lower-end single-host systems, and thus is not burdenedwith needing to carry multiple versions of Serial ATA cables and devices(or alternatively penalizing the low-end system with the cost burden ofusing enhanced disk drive assemblies with daughter cards and enhancedcable assemblies) when providing both the lower-end single-host systemsand the data storage system 20. Rather, the Serial ATA cable 28 and theSerial ATA device 26 are suitable for use in both types of systems thuslowering costs to make, stock and support such systems. Moreover, usingthe Serial ATA cable 28 and the Serial ATA device 26 provides a simpleupgrade path from a single-host system to the multi-host system 20 (seeFIG. 1) which simply involves adding another host circuit 32 but doesnot requiring replacing any disk drive. Further details of how the hostcircuits 32 share access to the Serial ATA device 26 of FIGS. 3 and 4will now be provided.

As shown in FIGS. 3 and 4, the host circuits 32 include a communicationschannel 72 which is formed by the electrical connections between thehost circuits 32 (also see the connections illustrated by the arrows44(1), 44(2) in FIG. 2). Additionally, the multiplexer 46 includes twohost ports 74(1), 74(2), a control interface 76, and a device port 78.The control circuit 48 includes host ports 80(1), 80(2) and anmultiplexer interface 82.

The connections within the multiplexer circuitry 34 (also see theconnections illustrated by the arrow 52 in FIG. 2) connect themultiplexer 46 and the control circuit 48 as shown in FIGS. 3 and 4. Inparticular, the host ports 74(1), 74(2) of the multiplexer 46respectively connect to the host circuits 32(1), 32(2). Additionally,the control interface 76 of the multiplexer 46 connects to themultiplexer interface 82 of the control circuit 48. Furthermore, thedevice port 78 of the multiplexer 46 connects to the Serial ATAconnector 50. Also, the host ports 80(1), 80(2) of the control circuit48 respectively connect to the host circuits 32(1), 32(2).

During operation, the host circuits 32 decide which host circuit 32 isto have access the Serial ATA device 26 by exchanging handshakingsignals 84 through the communications channel 72. In particular, thehost circuit 32(1) outputs handshaking signal 84(1) to the host circuit32(2), and the host circuit 32(2) outputs handshaking signal 84(2) tothe host circuit 32(1). A variety of sharing techniques are suitable foruse such as exchanging request and confirmation messages, timemultiplexing, arbitration schemes, etc.

Suppose, by way of example only, the host circuits 32 decide that thehost circuit 32(1) is to have current access to the Serial ATA device26. To this end, the host circuit 32(1) provides a control signal 86(1)to the host port 80(1) of the control circuit 48, and the host circuit32(2) provides a control signal 86(2) to the host port 80(2) of thecontrol circuit 48 to direct the control circuit 48 to direct themultiplexer 46 to select the host port 74(1). In response, the controlcircuit 48 outputs a control signal 88 on the multiplexer interface 82.The control interface 76 receives the control signal 88 and selects thehost port 74(1) thus completing a Serial ATA communications pathway90(1) from the host circuit 32(1) to the Serial ATA device 26, as shownin FIG. 3 (see the thickened line leading from the host circuit 32(1) tothe Serial ATA device 26). Accordingly, the host circuit 32(1) is nowcapable of exchanging Serial ATA signals 92(1) with the Serial ATAdevice 26 (e.g., to store and/or retrieve data) (see FIG. 3).

Now suppose that the host circuits 32 decide that the host circuit 32(2)is to have access to the Serial ATA device 26, perhaps after furtherexchanging handshaking signals 84 through the communications channel 72.Again, the host circuit 32(1) provides the control signal 86(1) to thehost port 80(1) of the control circuit 48, and the host circuit 32(2)provides the control signal 86(2) to the host port 80(2) of the controlcircuit 48 to direct the control circuit 48 to switch the multiplexer 46to now select the host port 74(2). In response, the control circuit 48outputs the control signal 88 on the multiplexer interface 82. Thecontrol interface 76 receives the control signal 88 and changesselection from the host port 74(1) to the host port 74(2) thuscompleting a new Serial ATA communications pathway 90(2) from the hostcircuit 32(2) to the Serial ATA device 26, as shown in FIG. 4 (see thethickened line leading from the host circuit 32(2) to the Serial ATAdevice 26). As a result, the host circuit 32(2) is now capable ofexchanging Serial ATA signals 92(2) with the Serial ATA device 26 (e.g.,to store and/or retrieve data) (see FIG. 4).

It should be understood that switching of access back to the hostcircuit 32(1) occurs in a manner similar to that described above whenswitching from the host circuit 32(1) to the host circuit 32(2), but inan opposite manner. Additionally, it should be understood that sharingof the Serial ATA device 26 can continue indefinitely as described above(by repeating the switching process) to provide the host circuits 32with robust and reliable shared access to the Serial ATA device 26.Furthermore, it should be understood that a variety of steps can betaken to avoid resetting the Serial ATA device 26 and thus minimizeswitch over times when switching between host circuits 32 such asutilizing sleep commands (e.g., PARTIAL and/or SLUMBER) and wakecommands (e.g., COMWAKE) to control PHY layer states between the SerialATA device 26 and the host circuits 32 and thereby alleviate the needfor the Serial ATA device 26 to reinitialize itself (e.g., there is noneed for the device to perform a COMRESET sequence and reinitializedevice features) during transitions of control between host circuits 32.Moreover, it should be understood that the above-provided features andoperation exist for each Serial ATA device 26 and correspondingmultiplexer 46 (also see FIG. 2). Further details of the invention willnow be provided with reference to FIG. 5.

FIG. 5 is a flowchart of a procedure 100 which is performed by a user(e.g., a manufacturer, a customer, etc.) when carrying out data storageoperations in accordance with an embodiment of the invention. In step102, the user provides the circuit board module 24 having (i) thecircuit board 30, (ii) the host circuits 32 mounted to the circuit board30, and (ii) the multiplexer circuitry 34 mounted to the circuit board30. As described earlier, each host circuit 32 is configured to performdata storage operations on the behalf of an external client 22. In steps104 and 106, the user operates the data storage system 20 so that (i)the host circuits 32 generate control signals 86 and (ii) the controlsignals 86 direct the multiplexer circuitry 34 to provide communicationspathways between the host circuits 32 and the set of Serial ATA devices26. Steps 104 and 106, which typically occur concurrently and in anongoing manner, enable (i) the host circuits 32 to operatesimultaneously for increased throughput by the system as a whole and(ii) robust and reliable access of the Serial ATA devices 26 without anyneed for complex Serial ATA cable assemblies or enhanced Serial ATA diskdrive assemblies (e.g., without disk drive assemblies having multipleSerial ATA connectors and daughter cards).

As described above, embodiments of the invention are directed to datastorage techniques which utilize host-side multiplexer circuitry 34 tocommunicate with Serial ATA devices 26. Such techniques enablemanufacturers to provide both a low-end single host system and the datastorage system 20 (i.e., a higher-end multiple-host system) but stillcarry only a single version of a Serial ATA cable set and a Serial ATAdisk drive assembly (e.g., simple Serial ATA disk drive assemblies withno multiplexers and a single Serial ATA disk drive connector) for use inboth systems. There is no need for the manufacturer to make, stock andsupport two versions of disk drive assemblies and two versions of cableassemblies as in a conventional approach to providing both a low-endsingle-host system and a high-end two-host system (e.g., there is noneed for a version of a Serial ATA disk drive assembly having daughtercards and multiple Serial ATA disk drive connectors for a high-endtwo-host system).

While this invention has been particularly shown and described withreferences to preferred embodiments thereof, it will be understood bythose skilled in the art that various changes in form and details may bemade therein without departing from the spirit and scope of theinvention as defined by the appended claims.

For example, it should be understood that the Serial ATA devices 26 weredescribed above as including disk drive units by way of example only. Inother arrangements, the Serial ATA devices 26 includes other types ofdevices such as diskette drives, tape drives, CD-ROM drives,combinations thereof, etc.

Additionally, it should be understood that the circuit board module 24was described above as including two host circuits 32 by way of exampleonly. In other arrangements, the circuit board module 24 has more thantwo host circuits 32 (e.g., three, four, etc.) for greater throughput(i.e., data storage operation capacity). For example, in onearrangement, the simpler two-host-port multiplexer 46 is replaced with amore-intelligent device which either (i) accommodates more than two hostcircuits 32 or (ii) simplifies the communications and/or protocols usedin active-active switching.

Furthermore, it should be understood that the data storage system 20 wasdescribed above as having one circuit board module 24 by way of exampleonly. It should be understood that data storage system 20 is capable ofhaving multiple circuit board modules 24 for increased capacity. Inparticular, in other arrangements, the data storage system 20 has morethan one circuit board module 24 has more than two host circuits 32(e.g., three, four, etc.). In such arrangements, the multiplexers 46 arepreferably disposed on a separate multiplexer circuit board, and thehost circuit 32 (on respective circuit boards) connect to that separatemultiplexer circuit board.

1. A data storage system, comprising: a circuit board module; a set ofSerial ATA devices; and a set of Serial ATA cables connecting thecircuit board module to the set of Serial ATA devices, the circuit boardmodule including: a circuit board, multiple host circuits mounted to thecircuit board, each host circuit being configured to perform datastorage operations on the set of Serial ATA devices on the behalf of anexternal client, and multiplexer circuitry mounted to the circuit board,the multiplexer circuitry being configured to (i) receive controlsignals from the host circuits and (ii) provide communication pathwaysbetween the host circuits and the set of Serial ATA devices in responseto the control signals; wherein the multiplexer circuitry of the circuitboard module includes: a plurality of discrete multiplexer units, eachmultiplexer unit corresponding to a Serial ATA device of the set ofSerial ATA devices and being configured to selectively provide (i) afirst pathway between a first host circuit and that Serial ATA device,and (ii) a second pathway between a second host circuit and that SerialATA device; wherein the circuit board of the circuit board module isplanar in shape and includes: a first host section which supports thefirst host circuit; a second host section which supports the second hostcircuit and which is disposed adjacent to the first section in aside-by-side manner; and a multiplexer section which supports theplurality of discrete multiplexer units and which is disposed adjacentto both the first host section and the second host section; wherein theset of Serial ATA devices includes a set of single-ported Serial ATAdisk drive assemblies; wherein the multiplexer section is disposed alonga connecting edge of the circuit board; wherein the circuit board modulefurther includes: a set of Serial ATA cable connectors disposed alongthe connecting edge of the circuit board, the set of Serial ATA cableconnectors being configured to operate as a set of connecting interfacesfor a set of Serial ATA cables leading from the set of Serial ATA cableconnectors to the set of single-ported Serial ATA disk drive assemblies;and wherein the multiple host circuits mounted to the circuit board arefurther configured to send sleep and wake signals to the set of SerialATA devices to prevent each of the Serial ATA devices from needing toreinitialize upon switching between the first pathway and the secondpathway.
 2. The data storage system of claim 1 wherein the multiplexercircuitry of the circuit board module includes: a control circuitconfigured to input the control signals from the host circuits andoutput a set of multiplexer signals to the plurality of discretemultiplexer units based on the control signals to coordinate use of thecommunication pathways among the host circuits.
 3. The data storagesystem of claim 1 wherein the multiple host circuits of the circuitboard module include: a first host circuit mounted to the circuit board,the first host circuit being configured to perform a first set of datastorage operations; and a second host circuit mounted to the circuitboard, the second host circuit being configured to perform a second setof data storage operations (i) simultaneously while the first hostcircuit performs the first set of data storage operations and (ii)independently of the first set of data storage operations.
 4. A datastorage system as in claim 1 wherein: the data storage system furtherincludes a main support, the main support supporting the circuit boardmodule, the set of Serial ATA cables attaching to the main support; thecircuit board module is configured to slide into the main support suchthat, when slid in a first direction, the set of Serial ATA cableconnectors of the connecting edge of the circuit board may engage withthe set of Serial ATA cables attached to the main support, and when slidin a second direction, opposite the first direction, the set of SerialATA cable connectors of the connecting edge of the circuit board maydisengage with the set of Serial ATA cables attached to the mainsupport.
 5. A data storage system, comprising: a circuit board module; aset of Serial ATA devices; and a set of Serial ATA cables connecting thecircuit board module to the set of Serial ATA devices, the circuit boardmodule including: a circuit board, data storage means for performingdata storage operations on the set of serial ATA devices on the behalfof an external client, and multiplexer circuitry mounted on the circuitboard, the multiplexer circuitry being configured to (i) receive controlsignals from the data storage means and (ii) provide communicationpathways between the data storage means and the set of Serial ATAdevices in response to the control signals; wherein the multiplexercircuitry of the circuit board module includes: a plurality of discretemultiplexer units, each multiplexer unit corresponding to a Serial ATAdevice of the set of Serial ATA devices and being configured toselectively provide (i) a first pathway between a first host circuit andthat Serial ATA device, and (ii) a second pathway between a second hostcircuit and that Serial ATA device; wherein the circuit board of thecircuit board module is planar in shape and includes: a first hostsection which supports the first host circuit; a second host sectionwhich supports the second host circuit and which is disposed adjacent tothe first section in a side-by-side manner; and a multiplexer sectionwhich supports the plurality of discrete multiplexer units and which isdisposed adjacent to both the first host section and the second hostsection; wherein the set of Serial ATA devices includes a set ofsingle-ported Serial ATA disk drive assemblies; wherein the multiplexersection is disposed along a connecting edge of the circuit board;wherein the circuit board module further includes: a set of Serial ATAcable connectors disposed along the connecting edge of the circuitboard, the set of Serial ATA cable connectors being configured tooperate as a set of connecting interfaces for a set of Serial ATA cablesleading from the set of Serial ATA cable connectors to the set ofsingle-ported Serial ATA disk drive assemblies; and wherein the datastorage means are further configured to send sleep and wake signals tothe set of Serial ATA devices to prevent each of the Serial ATA devicesfrom needing to reinitialize upon switching between the first pathwayand the second pathway.
 6. A data storage system as in claim 5 wherein:the data storage system further includes a main support, the mainsupport supporting the circuit board module, the set of Serial ATAcables attaching to the main support; the circuit board module isconfigured to slide into the main support such that, when slid in afirst direction, the set of Serial ATA cable connectors of theconnecting edge of the circuit board may engage with the set of SerialATA cables attached to the main support, and when slid in a seconddirection, opposite the first direction, the set of Serial ATA cableconnectors of the connecting edge of the circuit board may disengagewith the set of Serial ATA cables attached to the main support.
 7. Acircuit board module for carrying out data storage operations,comprising: a circuit board; multiple host circuits mounted to thecircuit board, each host circuit being configured to perform datastorage operations on a set of Serial ATA devices on the behalf of anexternal client; and multiplexer circuitry mounted on the circuit board,the multiplexer circuitry being configured to (i) receive controlsignals from the host circuits and (ii) provide communication pathwaysbetween the host circuits and the set of Serial ATA devices in responseto the control signals; wherein the multiplexer circuitry includes: aplurality of discrete multiplexer units, each multiplexer unitcorresponding to a Serial ATA device of the set of Serial ATA devicesand being configured to selectively provide (i) a first pathway betweena first host circuit and that Serial ATA device, and (ii) a secondpathway between a second host circuit and that Serial ATA device;wherein the circuit board is planar in shape and includes: a first hostsection which supports the first host circuit; a second host sectionwhich supports the second host circuit and which is disposed adjacent tothe first section in a side-by-side manner; and a multiplexer sectionwhich supports the plurality of discrete multiplexer units and which isdisposed adjacent to both the first host section and the second hostsection; wherein the set of Serial ATA devices includes a set ofsingle-ported Serial ATA disk drive assemblies; wherein the multiplexersection is disposed along a connecting edge of the circuit board;wherein the circuit board module further comprises: a set of Serial ATAcable connectors disposed along the connecting edge of the circuitboard, the set of Serial ATA cable connectors being configured tooperate as a set of connecting interfaces for a set of Serial ATA cablesleading from the set of Serial ATA cable connectors to the set ofsingle-ported Serial ATA disk drive assemblies; and wherein the multiplehost circuits mounted to the circuit board are further configured tosend sleep and wake signals to the set of Serial ATA devices to preventeach of the Serial ATA devices from needing to reinitialize uponswitching between the first pathway and the second pathway.
 8. Thecircuit board module of claim 7 wherein the multiplexer circuitryincludes: a control circuit configured to input the control signals fromthe host circuits and output a set of multiplexer signals to theplurality of discrete multiplexer units based on the control signals tocoordinate use of the communication pathways among the host circuits. 9.The circuit board module of claim 7 wherein the multiple host circuitsinclude: a first host circuit mounted to the circuit board, the firsthost circuit being configured to perform a first set of data storageoperations; and a second host circuit mounted to the circuit board, thesecond host circuit being configured to perform a second set of datastorage operations (i) simultaneously while the first host circuitperforms the first set of data storage operations and (ii) independentlyof the first set of data storage operations.
 10. A circuit board moduleas in claim 7 wherein the multiplexer circuitry includes: a Serial ATAconnector leading to a respective single-ported Serial ATA disk driveassembly; and a multiplexer circuit having (i) N host circuit ports,each host circuit port connecting to a respective host circuit, and (ii)a single Serial ATA port connecting to the Serial ATA connector leadingto the respective Serial ATA disk drive, the multiplexer circuit being aN:1 multiplexer arranged to provide N bi-directional pathways betweenthe N host circuits and the respective single-ported Serial ATA diskdrive assembly through the Serial ATA connector.
 11. A circuit boardmodule as in claim 10 wherein the N:1 multiplexer is a 2:1bi-directional multiplexer arranged to selectively connect one of twostorage processors to the single-ported Serial ATA disk drive assemblythrough the Serial ATA connector.
 12. A circuit board module as in claim7 wherein: the set of Serial ATA cables attach to a main support, themain support also supporting the circuit board; the circuit board isconfigured to slide into the main support such that, when slid in afirst direction, the set of Serial ATA cable connectors of theconnecting edge of the circuit board may engage with the set of SerialATA cables attached to the main support, and when slid in a seconddirection, opposite the first direction, the set of Serial ATA cableconnectors of the connecting edge of the circuit board may disengagewith the set of Serial ATA cables attached to the main support.
 13. Acircuit board module for carrying out data storage operations,comprising: a circuit board; data storage means for performing datastorage operations on a set of Serial ATA devices on the behalf of anexternal client; and multiplexer circuitry mounted on the circuit board,the multiplexer circuitry being configured to (i) receive controlsignals from the data storage means and (ii) provide communicationpathways between the data storage means and the set of Serial ATAdevices in response to the control signals; wherein the multiplexercircuitry includes: a plurality of discrete multiplexer units, eachmultiplexer unit corresponding to a Serial ATA device of the set ofSerial ATA devices and being configured to selectively provide (i) afirst pathway between a first host circuit and that Serial ATA device,and (ii) a second pathway between a second host circuit and that SerialATA device; wherein the circuit board is planar in shape and includes: afirst host section which supports the first host circuit; a second hostsection which supports the second host circuit and which is disposedadjacent to the first section in a side-by-side manner; and amultiplexer section which supports the plurality of discrete multiplexerunits and which is disposed adjacent to both the first host section andthe second host section; wherein the set of Serial ATA devices includesa set of single-ported Serial ATA disk drive assemblies; wherein themultiplexer section is disposed along a connecting edge of the circuitboard; wherein the circuit board module further comprises: a set ofSerial ATA cable connectors disposed along the connecting edge of thecircuit board, the set of Serial ATA cable connectors being configuredto operate as a set of connecting interfaces for a set of Serial ATAcables leading from the set of Serial ATA cable connectors to the set ofsingle-ported Serial ATA disk drive assemblies; and wherein the datastorage means are further configured to send sleep and wake signals tothe set of Serial ATA devices to prevent each of the Serial ATA devicesfrom needing to reinitialize upon switching between the first pathwayand the second pathway.
 14. A circuit board module as in claim 13wherein: the set of Serial ATA cables attach to a main support, the mainsupport also supporting the circuit board; the circuit board isconfigured to slide into the main support such that, when slid in afirst direction, the set of Serial ATA cable connectors of theconnecting edge of the circuit board may engage with the set of SerialATA cables attached to the main support, and when slid in a seconddirection, opposite the first direction, the set of Serial ATA cableconnectors of the connecting edge of the circuit board may disengagewith the set of Serial ATA cables attached to the main support.
 15. Amethod for carrying out data storage operations, comprising: providing acircuit board module having (i) a circuit board, (ii) multiple hostcircuits mounted to the circuit board, and (iii) multiplexer circuitrymounted to the circuit board, each host circuit being configured toperform data storage operations on a set of Serial ATA devices on behalfof an external client; generating a set of control signals from the hostcircuits; and applying the set of control signals to the multiplexercircuitry to provide communication pathways between the host circuitsand the set of Serial ATA devices; wherein the multiplexer circuitryincludes a plurality of discrete multiplexer units, each multiplexerunit corresponding to a Serial ATA device of the set of Serial ATAdevices; and wherein applying the set of control signals includes:selectively providing through each of the plurality of discretemultiplexer units, (i) a first pathway between a first host circuit andthe Serial ATA device corresponding to that multiplexer unit, and (ii) asecond pathway between a second host circuit and the Serial ATA devicecorresponding to that multiplexer unit; wherein providing the circuitboard module includes: forming, in the circuit board, (i) a first hostsection which supports the first host circuit, (ii) a second hostsection which supports the second host circuit and which is disposedadjacent to the first section in a side-by-side manner, and (iii) amultiplexer section which supports the plurality of discrete multiplexerunits and which is disposed adjacent to both the first host section andthe second host section; wherein the set of Serial ATA devices includesa set of single-ported Serial ATA disk drive assemblies, wherein themultiplexer section is disposed along a connecting edge of the circuitboard, and wherein the method further comprises: prior to generating andapplying the set of control signals, connecting a set of Serial ATAcable connectors disposed along the connecting edge of the circuit boardto the set of single-ported Serial ATA disk drive assemblies using a setof Serial ATA cables; and sending sleep and wake signals from the hostcircuits to the set of Serial ATA devices to prevent each of the SerialATA devices from needing to reinitialize upon switching between thefirst pathway and the second pathway.
 16. The method of claim 15 whereinapplying the set of control signals to the multiplexer circuitryincludes: inputting the control signals through a control circuit of themultiplexer circuitry outputting a set of multiplexer signals to theplurality of discrete multiplexer units of the multiplexer circuitrybased on the control signals to coordinate use of the communicationpathways among the host circuits.
 17. The method of claim 15, furthercomprising: performing a first set of data storage operations using afirst host circuit; and performing a second set of data storageoperations using a second host circuit, the second set of data storageoperations being performed (i) simultaneously with the first set of datastorage operations and (ii) independently of the first set of datastorage operations.
 18. A method as in claim 15 wherein the methodfurther comprises: attaching the set of Serial ATA cables to a mainsupport, the main support also supporting the circuit board; sliding thecircuit board module in a first direction towards the main support suchthat the set of Serial ATA cable connectors of the connecting edge ofthe circuit board may engage with the set of Serial ATA cables attachedto the main support.
 19. A method as in claim 18 wherein the methodfurther comprises: sliding the circuit board module in a seconddirection away from the main support such that the set of Serial ATAcable connectors of the connecting edge of the circuit board maydisengage with the set of Serial ATA cables attached to the mainsupport.